package com.ruoyi.web.controller.app;

import com.ruoyi.business.domain.TProduct;
import com.ruoyi.business.service.ITProductService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * App端 商品信息接口
 *
 * @author laoguo
 */
@RestController
@RequestMapping("/app/product")
public class AppProductController extends BaseController {

    @Autowired
    private ITProductService productService;

    /**
     * 获取商品列表
     * 支持分页
     */
    @GetMapping("/list")
    public TableDataInfo list(TProduct product) {
        // startPage() 是 BaseController 中封装好的分页方法
        startPage();
        // 只查询上架的商品
        product.setStatus("0");
        List<TProduct> list = productService.selectTProductList(product);
        return getDataTable(list);
    }

    /**
     * 获取商品详情
     */
    @GetMapping("/{productId}")
    public AjaxResult getInfo(@PathVariable("productId") Long productId) {
        TProduct product = productService.selectTProductByProductId(productId);
        // 可以增加一个判断，如果商品已下架或不存在，则不返回
        if (product == null || !"0".equals(product.getStatus())) {
            return AjaxResult.error("商品不存在或已下架");
        }
        return AjaxResult.success(product);
    }
}